package nodos;

import javax.swing.tree.DefaultMutableTreeNode;

public class NodoDecisionSi extends Nodo {

	private Nodo condicion;
	private Nodo bloqueVerdadero;
	private Nodo bloqueFalso;

	public NodoDecisionSi(Nodo condicion, Nodo bloqueVerdadero, Nodo bloqueFalso) {
		this.condicion = condicion;
		this.bloqueVerdadero = bloqueVerdadero;
		this.bloqueFalso = bloqueFalso;
	}

	@Override
	public DefaultMutableTreeNode getSubArbolVisual()
	{
		DefaultMutableTreeNode raiz= new DefaultMutableTreeNode("Decision Si");
		raiz.add(condicion.getSubArbolVisual());
		raiz.add(bloqueVerdadero.getSubArbolVisual());
		if (bloqueFalso!=null) {
			raiz.add(bloqueFalso.getSubArbolVisual());
		}
		return raiz;
	}

	@Override
	public String traducir(int profundidad) {
		return "if("+condicion.traducir(profundidad)+")\n"+bloqueVerdadero.traducir(profundidad)
		+(bloqueFalso!=null?"else\n"+bloqueFalso.traducir(profundidad)+"\n":"");
	}

}
